dr["user']问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 15:32:52
为什么在编译时说textbox1.text==dr["user"].Tostring有问题,而该了相应的数据库字段,即把user改为其他的如:userid之后,textbox1.text==dr["userid"].Tostring却可以通过编译呢?哪位帅哥美女帮忙解释一下呢?谢谢!

dr这里是没有错的,可以直接使用 dr["user"]

但是注意到你的查询语句里,因为user是关键字,
所以类似于“SELECT user, userid, sex FROM mytalbe”这样直接表名或者字段名包含有user的语句,会出错,因为楼上也说了,user是关键字。
如果出现这种情况,只需要在查询语句里把相应的加上[],
改成“SELECT [user], userid, sex FROM mytalbe”
实际上,T-SQL要求我们应该规范写查询语句,应该所有的字段和表名都加上[]。
上述语句应该写成这样:
“SELECT [user], [userid], [sex] FROM [mytalbe]”

加上了[]之后,不影响在DataSet或者SqlDataReader里读取它的值,使用名字仍然可以直接使用 ds["user"], ds["userid"]等,这个时候不用考虑到中括号。

以后养成习惯,全部都加上[],就不会有问题了。

dr["user_id"].tostring();
的意思是匹配表的字段..

dr["user"].tostring();
你所查找的表里没有那个字段所以没通过编译吧
..
个人理解
希望能帮的上你。

user是sqlserver系统关键字,改成别的或者试试dr["[user]"]